def demo1():
    num = 10
    print(num)

    num = 20
    print('修改后%d'%num)

demo1()

num = 10
def demo2():

    print(num)
#函数要放到内存里面才能运行，此处只是加载函数


demo2() #只有调用的时候才会执行，此时已经有了num了

#原则局部变量和全局变量不可以重名
def demo3():
    global num
    num = 100
    print(num)

num = 10 #全局变量

demo3()
print('执行完毕demo3，num=%d'%num)


"""作业"""
num = int(input("输入一个数："))
# if num>0:
#     print(bin(num))

check_flag = 1
count = 0 #为1的数目
i = 1
while i<=64:
    if check_flag&num:
        count += 1
    check_flag = check_flag<<1
    i += 1
print(count)

"""
0000 1010    10 

0000 0001    check_flag

check_flag 左移一位

0000 0010  check_flag   check_flag&10


"""